package com.github.cakin.shiro.chapter6;

import com.alibaba.druid.pool.DruidDataSource;
import org.springframework.jdbc.core.JdbcTemplate;

/**
 * @className: JdbcTemplateUtils
 * @description: 主要是生成单例 jdbcTemplate
 * @date: 2020/5/19
 * @author: cakin
 */
public class JdbcTemplateUtils {
    /**
     * jdbcTemplate
     */
    private static JdbcTemplate jdbcTemplate;

    /**
     * 功能描述：生成jdbcTemplate 单例
     *
     * @return JdbcTemplate
     * @author cakin
     * @date 2020/5/19
     */
    public static JdbcTemplate jdbcTemplate() {
        if (jdbcTemplate == null) {
            jdbcTemplate = createJdbcTemplate();
        }
        return jdbcTemplate;
    }

    /**
     * 功能描述：生成jdbcTemplate 对象
     *
     * @author cakin
     * @date 2020/5/19
     * @return JdbcTemplate
     */
    private static JdbcTemplate createJdbcTemplate() {
        DruidDataSource ds = new DruidDataSource();
        ds.setDriverClassName("com.mysql.jdbc.Driver");
        ds.setUrl("jdbc:mysql://localhost:3306/shiro");
        ds.setUsername("root");
        ds.setPassword("");

        return new JdbcTemplate(ds);
    }
}
